﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using CapturarObjetos.Nucleo;

namespace CapturarObjetos.Fases 
{
    class Estatica
    {

        #region Atributos

        //Content, usado pra dar load nos gráficos
        ContentManager Content;
        
        // Objetos do cenário.
        ObjetoJogo chao, energia, objeto, cilindro;
        /// <summary>
        /// Lista de todos os objetos do game
        /// </summary>
        public List<ObjetoJogo> objetos = new List<ObjetoJogo>();


        // Cameras utilizadas
        Camera camera;

        #endregion      
        
    

        #region Metodos

        /// <summary>
        /// Construtora
        /// </summary>
        /// <param name="camera"> Camera principal utilizada</param>
        public Estatica(ContentManager content, Camera camera)
        {
            this.Content = content;
            this.camera = camera;

            //Chão, base do cenário
            chao = new ObjetoJogo();
            chao.Modelo = Content.Load<Model>("chao");
            objetos.Add(chao);
            


            #region energias

            ////Energia #1
            //cilindro = new ObjetoJogo();
            //cilindro.Modelo = Content.Load<Model>("cilindro");
            //cilindro.PosicaoY += 5;
            //cilindro.Escala = 0.2f;

            for (int i = 1; i < 12; i++)
            {
                ObjetoJogo energia = new ObjetoJogo();
                energia.Modelo = Content.Load<Model>("objeto");
                energia.PosicaoZ += (5 * i);
                energia.PosicaoX += i*2; 
                energia.Escala = 0.02f;
                objetos.Add(energia);
            }

            #endregion

            


            //Objeto é o cubo, personagem.
            objeto = new ObjetoJogo();
            objeto.Modelo = Content.Load<Model>("cilindro");
           // objeto.PosicaoX += 0;
            //objeto.RotacaoZ = MathHelper.ToRadians(90);
            objeto.Escala = 0.2f;
            objetos.Add(objeto);
            
        }


        /// <summary>
        /// Método para desenhar a fase
        /// </summary>
        /// <param name="camera"> Camera utilizada </param>
        public void Desenhar(Camera camera)
        {
            // For que percorre todos os objetos do jogo para desenha-los
            for (int i = 0; i < objetos.Count; i++)
            {
                objetos[i].Desenhar(camera);
            }
        }

        #endregion

       
    }
}
